| cod_produto | produto | quantidade | valor_unit | total_item | data_lanc | atendente | venda | vendedor | data_venda | data_recebimento | data | mes | hora | minuto | hora_minuto | data_normal | periodo_do_dia | dia_da_semana | tipo_de_dia | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 421 | BURRATA COM JAMON E VERDE | 1 | 49.0 | 49.0 | 2022-07-30 20:03:12 | JESSICA | 981201 | JESSICA | 2022-07-30 20:02:56 | 2022-07-30 22:58:00 | 2022-07-30 | 7 | 20 | 3 | 20:03:12 | 2022-07-30 | noite | sábado | FS |
| 3 | 41 | PORÇAO NACHOS | 1 | 15.0 | 15.0 | 2022-07-30 20:17:28 | JESSICA | 981201 | JESSICA | 2022-07-30 20:02:56 | 2022-07-30 22:58:00 | 2022-07-30 | 7 | 20 | 17 | 20:17:28 | 2022-07-30 | noite | sábado | FS |
| 4 | 97 | JARRA SANGRIA LOCA SUMMER | 1 | 55.0 | 55.0 | 2022-07-30 20:22:20 | GABRIEL | 981201 | JESSICA | 2022-07-30 20:02:56 | 2022-07-30 22:58:00 | 2022-07-30 | 7 | 20 | 22 | 20:22:20 | 2022-07-30 | noite | sábado | FS |
| 5 | 406 | LULAS EMPANADAS | 1 | 38.0 | 38.0 | 2022-07-30 21:22:51 | JESSICA | 981201 | JESSICA | 2022-07-30 20:02:56 | 2022-07-30 22:58:00 | 2022-07-30 | 7 | 21 | 22 | 21:22:51 | 2022-07-30 | noite | sábado | FS |
| 6 | 2 | RISOTINHO DE CAMARÃO | 1 | 52.0 | 52.0 | 2022-07-30 22:26:07 | JESSICA | 981201 | JESSICA | 2022-07-30 20:02:56 | 2022-07-30 22:58:00 | 2022-07-30 | 7 | 22 | 26 | 22:26:07 | 2022-07-30 | noite | sábado | FS |
O faturamento no período foi de: R$ 884024.4
Alguns itens chamaram a atenção:
Eventos: foram identificados 7 registros de eventos. No entanto, como não conseguimos determinar quais itens foram vendidos nessas ocasiões, optamos por excluí-los da análise. Considerando que o escopo do trabalho é analisar os produtos vendidos, horário e dia, bem como sua quantidade, fica inviável realizar um estudo sem essas informações;
Couvert artístico: seria interessante obter informações sobre os artistas que se apresentaram nesses horários, pois poderíamos investigar quais deles atraem um público maior e que permanece mais tempo no estabelecimento;
Os dados também apresentaram dois tipos de entrada que não estão especificadas: "item extra" (73 registros) e "porção extra" (36 registros). Portanto, esses registros também serão retirados da análise.
Abaixo segue uma tabela com o Ranking dos produtos mais vendidos, já considerando-se essas exclusões
Após a filtragem dos regitros conforme a explicação acima, teos algumas métricas para apresentar:
O faturamento desconsiderando-se os eventos no período foi de: R$ 865321.6
O número de diferentes itens vendido pelo estabelecimento é: 283
O número médio de itens vendidos em um dia é: 226.58
A média de itens por venda é: 8.60 itens
A média de itens por venda e por período do dia é: Período Média 2 tarde 11.29 1 noite 8.59 0 manhã 2.99
Observamos que durante a Copa do Mundo houve uma queda sinificativa do faturamento do estabelecimento
| data_venda | total_item | quantidade | |
|---|---|---|---|
| 0 | 2022-07 | 6671.51 | 254 |
| 1 | 2022-08 | 107117.31 | 4569 |
| 2 | 2022-09 | 116529.20 | 5317 |
| 3 | 2022-10 | 138224.57 | 6616 |
| 4 | 2022-11 | 138933.29 | 6950 |
| 5 | 2022-12 | 168311.14 | 8425 |
| 6 | 2023-01 | 189534.58 | 9559 |
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) /tmp/ipykernel_406/1532841142.py in <module> 1 fig_02a = px.bar(fatura_grouped_by_motnh, x='data_venda', y='total_item') ----> 2 iplot(fig_02a) ~/.local/lib/python3.10/site-packages/plotly/offline/offline.py in iplot(figure_or_data, show_link, link_text, validate, image, filename, image_width, image_height, config, auto_play, animation_opts) 390 391 # Show figure --> 392 pio.show( 393 figure, 394 validate=validate, ~/.local/lib/python3.10/site-packages/plotly/io/_renderers.py in show(fig, renderer, validate, **kwargs) 386 387 # Mimetype renderers --> 388 bundle = renderers._build_mime_bundle(fig_dict, renderers_string=renderer, **kwargs) 389 if bundle: 390 if not ipython_display: ~/.local/lib/python3.10/site-packages/plotly/io/_renderers.py in _build_mime_bundle(self, fig_dict, renderers_string, **kwargs) 294 setattr(renderer, k, v) 295 --> 296 bundle.update(renderer.to_mimebundle(fig_dict)) 297 298 return bundle ~/.local/lib/python3.10/site-packages/plotly/io/_base_renderers.py in to_mimebundle(self, fig_dict) 93 94 json_compatible_fig_dict = json.loads( ---> 95 to_json(fig_dict, validate=False, remove_uids=False) 96 ) 97 ~/.local/lib/python3.10/site-packages/plotly/io/_json.py in to_json(fig, validate, pretty, remove_uids, engine) 197 trace.pop("uid", None) 198 --> 199 return to_json_plotly(fig_dict, pretty=pretty, engine=engine) 200 201 ~/.local/lib/python3.10/site-packages/plotly/io/_json.py in to_json_plotly(plotly_object, pretty, engine) 121 from _plotly_utils.utils import PlotlyJSONEncoder 122 --> 123 return json.dumps(plotly_object, cls=PlotlyJSONEncoder, **opts) 124 elif engine == "orjson": 125 JsonConfig.validate_orjson() /usr/lib/python3.10/json/__init__.py in dumps(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw) 236 check_circular=check_circular, allow_nan=allow_nan, indent=indent, 237 separators=separators, default=default, sort_keys=sort_keys, --> 238 **kw).encode(obj) 239 240 ~/.local/lib/python3.10/site-packages/_plotly_utils/utils.py in encode(self, o) 57 """ 58 # this will raise errors in a normal-expected way ---> 59 encoded_o = super(PlotlyJSONEncoder, self).encode(o) 60 # Brute force guessing whether NaN or Infinity values are in the string 61 # We catch false positive cases (e.g. strings such as titles, labels etc.) /usr/lib/python3.10/json/encoder.py in encode(self, o) 197 # exceptions aren't as detailed. The list call should be roughly 198 # equivalent to the PySequence_Fast that ''.join() would do. --> 199 chunks = self.iterencode(o, _one_shot=True) 200 if not isinstance(chunks, (list, tuple)): 201 chunks = list(chunks) /usr/lib/python3.10/json/encoder.py in iterencode(self, o, _one_shot) 255 self.key_separator, self.item_separator, self.sort_keys, 256 self.skipkeys, _one_shot) --> 257 return _iterencode(o, 0) 258 259 def _make_iterencode(markers, _default, _encoder, _indent, _floatstr, ~/.local/lib/python3.10/site-packages/_plotly_utils/utils.py in default(self, obj) 134 except NotEncodable: 135 pass --> 136 return _json.JSONEncoder.default(self, obj) 137 138 @staticmethod /usr/lib/python3.10/json/encoder.py in default(self, o) 177 178 """ --> 179 raise TypeError(f'Object of type {o.__class__.__name__} ' 180 f'is not JSON serializable') 181 TypeError: Object of type Period is not JSON serializable
Agora iremos analisar mais detalhadamente a distribuição na venda de cada item proporcionalmente as vendas totais
Observações
OBSERVAÇÕES